package org.duomn.xmltool;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.duomn.xmltool.transfer.NullTransfer;
import org.duomn.xmltool.transfer.Transfer;

@Target({ElementType.TYPE, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ToXml {
	
	public enum RefType {BASE, BASE_COLLECTION, CUSTOM, CUSTOM_COLLECTION};
	
	/** 表示是一个关联的类型 */
	RefType type() default RefType.BASE;
	
	/** 表示field是一个节点，标记节点名称 */
	String asChild() default "";
	
	/** 表示field映射为属性时，属性的字段名称 */
	String value() default "";
	
	Class<? extends Transfer> tranzfer() default NullTransfer.class;
	
}
